package cn.tedu.sp04.feign;

/*
声明式客户端接口，远程调用接口
三步配置：
  1）调用哪个模块   @FeignClient(name = "eureka注册表中的服务ID")
  2）调用哪个路径
  3）提交什么参数
 */

import cn.tedu.sp01.pojo.Item;
import cn.tedu.web.util.JsonResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

@FeignClient(name = "item-service")   //从注册表得到该模块的服务器地址列表
public interface ItemClient {
    /*
    springMVC  注解在这里启动作用是相反的作用
      -controller  响应客户端调用
      -在客户端接口中，是向服务器发送调用的作用
     */
    @GetMapping("/{orderId}")    //调用哪个路径
    JsonResult<List<Item>> getItems(@PathVariable String orderId);   //提交什么参数



    @PostMapping("/decreaseNumber")
    JsonResult<?> decreaseNumbers(@RequestBody List<Item> items);
}
